﻿Imports ServiciosAT
Imports Utilitarios

Namespace SIREOS
    Public Class ComunSWR

        Function listarAreas() As DataTable
            Dim oComunWS As New SireosWSComun.WSComun

            Dim _listarAreasResponse As New SireosWSComun.listarAreasResponse
            _listarAreasResponse = oComunWS.listarAreas(Valores.vacio)

            If Not (_listarAreasResponse.listaObjetoNegocio.area Is Nothing) Then
                Dim tot As Integer = _listarAreasResponse.listaObjetoNegocio.area.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodArea")
                dt.Columns.Add("NomArea")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarAreasResponse.listaObjetoNegocio.area.ElementAt(i).codArea, _listarAreasResponse.listaObjetoNegocio.area.ElementAt(i).nomArea)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarCargos() As DataTable
            Dim oComunWS As New SireosWSComun.WSComun

            Dim _listarCargosResponse As New SireosWSComun.listarCargosResponse
            _listarCargosResponse = oComunWS.listarCargos(Valores.vacio)

            If Not (_listarCargosResponse.listaObjetoNegocio.cargo Is Nothing) Then

                Dim tot As Integer = _listarCargosResponse.listaObjetoNegocio.cargo.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodCargo")
                dt.Columns.Add("Nomcargo")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarCargosResponse.listaObjetoNegocio.cargo.ElementAt(i).codCargo, _listarCargosResponse.listaObjetoNegocio.cargo.ElementAt(i).nomCargo)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarDistritos(oUbigeo As SireosWSComun.Ubigeo) As DataTable
            Dim oComunWS As New SireosWSComun.WSComun

            Dim _listarDistritosRequest As New SireosWSComun.listarDistritosRequest
            Dim _listarDistritosResponse As New SireosWSComun.listarDistritosResponse

            _listarDistritosRequest.ubigeo = oUbigeo
            _listarDistritosResponse = oComunWS.listarDistritos(_listarDistritosRequest)

            If Not (_listarDistritosResponse.listaObjetoNegocio.distrito Is Nothing) Then
                Dim tot As Integer = _listarDistritosResponse.listaObjetoNegocio.distrito.Count

                Dim dt As New DataTable
                dt.Columns.Add("CodUbigeo")
                dt.Columns.Add("DscUbigeo")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarDistritosResponse.listaObjetoNegocio.distrito.ElementAt(i).codUbigeo, _listarDistritosResponse.listaObjetoNegocio.distrito.ElementAt(i).dscUbigeo)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarFallas() As DataTable
            Dim oComunWS As New SireosWSComun.WSComun
            Dim _listarFallasRequest As New SireosWSComun.listarFallasRequest
            Dim _listarFallasResponse As New SireosWSComun.listarFallasResponse

            _listarFallasResponse = oComunWS.listarFallas(_listarFallasRequest)

            If Not (_listarFallasResponse.listaObjetoNegocio.falla Is Nothing) Then
                Dim tot As Integer = _listarFallasResponse.listaObjetoNegocio.falla.Count

                Dim dt As New DataTable
                dt.Columns.Add("CodFalla")
                dt.Columns.Add("DscFalla")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarFallasResponse.listaObjetoNegocio.falla.ElementAt(i).codFalla, _listarFallasResponse.listaObjetoNegocio.falla.ElementAt(i).dscFalla)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarFamilias() As DataTable
            Dim oComunWS As New SireosWSComun.WSComun

            Dim _listarFamiliasRequest As New SireosWSComun.listarFamiliasRequest
            Dim _listarFamiliasResponse As New SireosWSComun.listarFamiliasResponse

            _listarFamiliasResponse = oComunWS.listarFamilias(_listarFamiliasRequest)

            If Not (_listarFamiliasResponse.listaObjetoNegocio.familiaEquipo Is Nothing) Then
                Dim tot As Integer = _listarFamiliasResponse.listaObjetoNegocio.familiaEquipo.Count

                Dim dt As New DataTable
                dt.Columns.Add("CodFamilia")
                dt.Columns.Add("NomFamilia")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarFamiliasResponse.listaObjetoNegocio.familiaEquipo.ElementAt(i).codFamilia, _listarFamiliasResponse.listaObjetoNegocio.familiaEquipo.ElementAt(i).nomFamilia)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarGarantias(codTipoServicio As Integer) As DataTable
            Dim oComunWS As New SireosWSComun.WSComun

            Dim _listarGarantiasRequest As New SireosWSComun.listarGarantiasRequest
            Dim _listarGarantiasResponse As New SireosWSComun.listarGarantiasResponse

            _listarGarantiasRequest.codTipoServicio = codtiposervicio
            _listarGarantiasRequest.codTipoServicioSpecified = True

            _listarGarantiasResponse = oComunWS.listarGarantias(_listarGarantiasRequest)

            If Not (_listarGarantiasResponse.listaObjetoNegocio Is Nothing) Then
                If Not (_listarGarantiasResponse.listaObjetoNegocio.garantia Is Nothing) Then
                    Dim tot As Integer = _listarGarantiasResponse.listaObjetoNegocio.garantia.Count

                    Dim dt As New DataTable
                    dt.Columns.Add("CodGarantia")
                    dt.Columns.Add("DscGarantia")

                    For i As Integer = 0 To tot - 1
                        dt.Rows.Add(_listarGarantiasResponse.listaObjetoNegocio.garantia.ElementAt(i).codGarantia, _listarGarantiasResponse.listaObjetoNegocio.garantia.ElementAt(i).dscGarantia)
                    Next
                    Return dt
                Else
                    Return Nothing
                End If
            Else
                Return Nothing
            End If
        End Function

        Function listarLocales() As DataTable
            Dim oComunWS As New SireosWSComun.WSComun

            Dim _listarLocalesRequest As New SireosWSComun.listarLocalesRequest
            Dim _listarLocalesResponse As New SireosWSComun.listarLocalesResponse

            _listarLocalesResponse = oComunWS.listarLocales(_listarLocalesRequest)

            If Not (_listarLocalesResponse.listaObjetoNegocio.local Is Nothing) Then
                Dim tot As Integer = _listarLocalesResponse.listaObjetoNegocio.local.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodLocal")
                dt.Columns.Add("NomLocal")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarLocalesResponse.listaObjetoNegocio.local.ElementAt(i).codLocal, _listarLocalesResponse.listaObjetoNegocio.local.ElementAt(i).nomLocal)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarMarcas() As DataTable
            Dim oComunWS As New SireosWSComun.WSComun

            Dim _listarMarcasRequest As New SireosWSComun.listarMarcasRequest
            Dim _listarMarcasResponse As New SireosWSComun.listarMarcasResponse

            _listarMarcasResponse = oComunWS.listarMarcas(_listarMarcasRequest)

            If Not (_listarMarcasResponse.listaObjetoNegocio.marca Is Nothing) Then
                Dim tot As Integer = _listarMarcasResponse.listaObjetoNegocio.marca.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodMarca")
                dt.Columns.Add("NomMarca")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarMarcasResponse.listaObjetoNegocio.marca.ElementAt(i).codMarca, _listarMarcasResponse.listaObjetoNegocio.marca.ElementAt(i).nomMarca)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarMarcasEquipo() As DataTable
            Dim oComunWS As New SireosWSComun.WSComun

            Dim _listarMarcasEquipoRequest As New SireosWSComun.listarMarcasEquipoRequest
            Dim _listarMarcasEquipoResponse As New SireosWSComun.listarMarcasEquipoResponse

            _listarMarcasEquipoResponse = oComunWS.listarMarcasEquipo(_listarMarcasEquipoRequest)

            If Not (_listarMarcasEquipoResponse.listaObjetoNegocio.marcaEquipo Is Nothing) Then
                Dim tot As Integer = _listarMarcasEquipoResponse.listaObjetoNegocio.marcaEquipo.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodMarca")
                dt.Columns.Add("NomMarca")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarMarcasEquipoResponse.listaObjetoNegocio.marcaEquipo.ElementAt(i).codMarca, _listarMarcasEquipoResponse.listaObjetoNegocio.marcaEquipo.ElementAt(i).nomMarca)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarMoviles() As DataTable
            Dim oComunWS As New SireosWSComun.WSComun

            Dim _listarMovilesRequest As New SireosWSComun.listarMovilesRequest
            Dim _listarMovilesResponse As New SireosWSComun.listarMovilesResponse

            _listarMovilesResponse = oComunWS.listarMoviles(_listarMovilesRequest)

            If Not (_listarMovilesResponse.listaObjetoNegocio.movil Is Nothing) Then
                Dim tot As Integer = _listarMovilesResponse.listaObjetoNegocio.movil.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodMovil")
                dt.Columns.Add("NomMovil")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarMovilesResponse.listaObjetoNegocio.movil.ElementAt(i).codMovil, _listarMovilesResponse.listaObjetoNegocio.movil.ElementAt(i).nomMovil)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarPrioridad() As DataTable
            Dim oComunWS As New SireosWSComun.WSComun

            Dim _listarPrioridadRequest As New SireosWSComun.listarPrioridadRequest
            Dim _listarPrioridadResponse As New SireosWSComun.listarPrioridadResponse

            _listarPrioridadResponse = oComunWS.listarPrioridad(_listarPrioridadRequest)

            If Not (_listarPrioridadResponse.listaObjetoNegocio.prioridad Is Nothing) Then
                Dim tot As Integer = _listarPrioridadResponse.listaObjetoNegocio.prioridad.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodPrioridad")
                dt.Columns.Add("NomPrioridad")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarPrioridadResponse.listaObjetoNegocio.prioridad.ElementAt(i).codPrioridad, _listarPrioridadResponse.listaObjetoNegocio.prioridad.ElementAt(i).nomPrioridad)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarProvincias(oUbigeoBE As SireosWSComun.Ubigeo) As DataTable
            Dim oComunWS As New SireosWSComun.WSComun

            Dim _listarProvinciasRequest As New SireosWSComun.listarProvinciasRequest
            Dim _listarProvinciasResponse As New SireosWSComun.listarProvinciasResponse

            _listarProvinciasRequest.ubigeo = oUbigeoBE

            _listarProvinciasResponse = oComunWS.listarProvincias(_listarProvinciasRequest)

            If Not (_listarProvinciasResponse.listaObjetoNegocio.provincia Is Nothing) Then
                Dim tot As Integer = _listarProvinciasResponse.listaObjetoNegocio.provincia.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodProvincia")
                dt.Columns.Add("DscUbigeo")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarProvinciasResponse.listaObjetoNegocio.provincia.ElementAt(i).codProvincia, _listarProvinciasResponse.listaObjetoNegocio.provincia.ElementAt(i).dscUbigeo)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarProyecto() As DataTable
            Dim oComunWS As New SireosWSComun.WSComun
            Dim _listarProyectosRequest As New SireosWSComun.listarProyectosRequest
            Dim _listarProyectosResponse As New SireosWSComun.listarProyectosResponse
            _listarProyectosResponse = oComunWS.listarProyectos(_listarProyectosRequest)

            If Not (_listarProyectosResponse.listaObjetoNegocio.proyecto Is Nothing) Then

                Dim tot As Integer = _listarProyectosResponse.listaObjetoNegocio.proyecto.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodProyecto")
                dt.Columns.Add("NomProyecto")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarProyectosResponse.listaObjetoNegocio.proyecto.ElementAt(i).codProyecto, _listarProyectosResponse.listaObjetoNegocio.proyecto.ElementAt(i).nomProyecto)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarRegiones() As DataTable
            Dim oComunWS As New SireosWSComun.WSComun
            Dim _listarRegionesRequest As New SireosWSComun.listarRegionesRequest
            Dim _listarRegionesResponse As New SireosWSComun.listarRegionesResponse

            _listarRegionesResponse = oComunWS.listarRegiones(_listarRegionesRequest)

            If Not (_listarRegionesResponse.listaObjetoNegocio.region Is Nothing) Then
                Dim tot As Integer = _listarRegionesResponse.listaObjetoNegocio.region.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodDepartamento")
                dt.Columns.Add("Dscubigeo")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarRegionesResponse.listaObjetoNegocio.region.ElementAt(i).codDepartamento, _listarRegionesResponse.listaObjetoNegocio.region.ElementAt(i).dscUbigeo)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarServicios() As DataTable
            Dim oComunWS As New SireosWSComun.WSComun

            Dim _listarServiciosRequest As New SireosWSComun.listarServiciosRequest
            Dim _listarServiciosResponse As New SireosWSComun.listarServiciosResponse

            _listarServiciosResponse = oComunWS.listarServicios(_listarServiciosRequest)

            If Not (_listarServiciosResponse.listaObjetoNegocio.servicio Is Nothing) Then
                Dim tot As Integer = _listarServiciosResponse.listaObjetoNegocio.region.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodServicio")
                dt.Columns.Add("DscServicio")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarServiciosResponse.listaObjetoNegocio.servicio.ElementAt(i).codServicio, _listarServiciosResponse.listaObjetoNegocio.servicio.ElementAt(i).codServicio)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarTabla(oTablaDetalleBE As SireosWSComun.TablaDetalle) As DataTable
            Dim oComunWS As New SireosWSComun.WSComun

            Dim _listarTablaDetalleRequest As New SireosWSComun.listarTablaDetalleRequest
            Dim _listarTablaDetalleResponse As New SireosWSComun.listarTablaDetalleResponse

            _listarTablaDetalleRequest.tablaDetalle = oTablaDetalleBE
            _listarTablaDetalleRequest.tablaDetalle.codCabeceraSpecified = True

            _listarTablaDetalleResponse = oComunWS.listarTablaDetalle(_listarTablaDetalleRequest)

            If Not (_listarTablaDetalleResponse.listaObjetoNegocio.tablaDetalle Is Nothing) Then
                Dim tot As Integer = _listarTablaDetalleResponse.listaObjetoNegocio.tablaDetalle.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodDetalle")
                dt.Columns.Add("NomDetalle")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarTablaDetalleResponse.listaObjetoNegocio.tablaDetalle.ElementAt(i).codDetalle, _listarTablaDetalleResponse.listaObjetoNegocio.tablaDetalle.ElementAt(i).nomDetalle)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarTipoEquipo(oFamilia As SireosWSComun.Familia) As DataTable
            Dim oComunWS As New SireosWSComun.WSComun
            Dim olistarTipoEquipoRequest As New SireosWSComun.listarTipoEquipoRequest
            Dim olistarTipoEquipoResponse As New SireosWSComun.listarTipoEquipoResponse

            olistarTipoEquipoRequest.familia = oFamilia
            olistarTipoEquipoRequest.familia.codFamiliaSpecified = True
            olistarTipoEquipoResponse = oComunWS.listarTipoEquipo(olistarTipoEquipoRequest)

            If Not (olistarTipoEquipoResponse.listaObjetoNegocio.tipoEquipo Is Nothing) Then
                Dim tot As Integer = olistarTipoEquipoResponse.listaObjetoNegocio.tipoEquipo.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodTipoEquipo")
                dt.Columns.Add("DscTipoEquipo")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(olistarTipoEquipoResponse.listaObjetoNegocio.tipoEquipo.ElementAt(i).codTipoEquipo, olistarTipoEquipoResponse.listaObjetoNegocio.tipoEquipo.ElementAt(i).dscTipoEquipo)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarTransportistas() As DataTable
            Dim oComunWS As New SireosWSComun.WSComun

            Dim _listarTransportistasRequest As New SireosWSComun.listarTransportistasRequest
            Dim _listarTransportistasResponse As New SireosWSComun.listarTransportistasResponse

            _listarTransportistasResponse = oComunWS.listarTransportistas(_listarTransportistasRequest)

            If Not (_listarTransportistasResponse.listaObjetoNegocio.empleado Is Nothing) Then
                Dim tot As Integer = _listarTransportistasResponse.listaObjetoNegocio.empleado.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodEmpleado")
                dt.Columns.Add("Transportista")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarTransportistasResponse.listaObjetoNegocio.empleado.ElementAt(i).codEmpleado, _listarTransportistasResponse.listaObjetoNegocio.empleado.ElementAt(i).nomEmpleado)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarVendedores() As DataTable
            Dim oComunWS As New SireosWSComun.WSComun

            Dim _listarVendedoresRequest As New SireosWSComun.listarVendedoresRequest
            Dim _listarVendedoresResponse As New SireosWSComun.listarVendedoresResponse
            _listarVendedoresResponse = oComunWS.listarVendedores(_listarVendedoresRequest)

            If Not (_listarVendedoresResponse.listaObjetoNegocio.empleado Is Nothing) Then
                Dim tot As Integer = _listarVendedoresResponse.listaObjetoNegocio.empleado.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodEmpleado")
                dt.Columns.Add("Vendedor")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarVendedoresResponse.listaObjetoNegocio.empleado.ElementAt(i).codEmpleado, _listarVendedoresResponse.listaObjetoNegocio.empleado.ElementAt(i).nomEmpleado)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

    End Class
End Namespace